// https://www.luogu.com.cn/problem/P1303

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;

string add(string str1, string str2) {
    if (str1.length() < str2.length()) {
        swap(str1, str2);
    }

    int add = 0;
    string ans;
    int t1 = str1.length() - 1;
    int t2 = str2.length() - 1;
    for (int i = 0; i < str2.length(); i++) {
        int tmp = str1[t1] - '0' + str2[t2] - '0' + add;
        add = tmp / 10;
        tmp %= 10;
        --t1, --t2;
        ans.push_back(tmp + '0');
    }

    while (t1 >= 0) {
        int tmp = str1[t1] - '0' + add;
        add = tmp / 10;
        tmp %= 10;
        --t1;
        ans.push_back(tmp + '0');
    }

    if (add) {
        ans.push_back('1');
    }

    reverse(ans.begin(), ans.end());
    return ans;
}

string mul(string& tmpStr, char numChar, int bit) {
    int t = tmpStr.length() - 1;
    int num = numChar - '0';
    string ans = "";
    int up = 0;
    while (t >= 0) {
        int tmp = tmpStr[t] - '0';
        int cn = tmp * num + up;
        up = cn / 10;
        cn %= 10;
        ans.push_back(cn + '0');
        --t;
    }

    if (up) {
        ans.push_back(up + '0');
    }
    reverse(ans.begin(), ans.end());

    for (int i=0; i < bit; i++) {
        ans.push_back('0');
    }

    return ans;
}

string mul(string& str1, string& str2) {
    if (str1 == "0" || str2 == "0") {
        return "0";
    }

    if (str1.length() < str2.length()) {
        swap(str1, str2);
    }

    string ans = "0";
    int t = str2.length() - 1;
    for (int i = 0; i < str2.length(); i++) {
        string tmp = mul(str1, str2[t], i);
        // cout<<str1<< " * " << str2[i] << " = " << tmp<<endl;
        ans = add(ans, tmp);
        --t;
    }
    return ans;
}


int main() {
    string str1, str2;
    cin >> str1 >> str2;
    string ans = mul(str1, str2);
    cout << ans << endl;
    return 0;
}